package de.dpunkt.myaktion.controller;

import java.io.Serializable;

import javax.ejb.ObjectNotFoundException;
import javax.enterprise.context.SessionScoped;
import javax.inject.Inject;
import javax.inject.Named;

import de.dpunkt.myaktion.model.Aktion;
import de.dpunkt.myaktion.model.Spende;
import de.dpunkt.myaktion.service.SpendeService;

@Named
@SessionScoped
public class SpendeListController implements Serializable {

	private static final long serialVersionUID = 7576926959869149624L;

	private Aktion aktion;
	private Spende spendeToDelete;
	
	@Inject
	private SpendeService spendeService;
	
	public Aktion getAktion() throws ObjectNotFoundException {
		aktion.setSpenden(spendeService.getSpendeList(aktion.getId()));
		return aktion;
	}
	
	public void setAktion(final Aktion aktion) {
		this.aktion = aktion;
	}
	
	public String doRefresh() {
		return Pages.SPENDE_LIST;
	}
	
	public String doBack() {
		return Pages.AKTION_LIST;
	}

	public void doPrepareDelete(final Spende spende) {
		spendeToDelete = spende;
	}
	
	public void doCommitDelete() throws ObjectNotFoundException {
		spendeService.deleteSpende(spendeToDelete);
	}
}
